<%@page import="java.util.List"%>
<%@page import="java.util.Arrays"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<!-- 引入标签库的核心库 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <!--1.创建变量，设置到作用域上 ，默认是page -->
    <c:set var="i" value="10" scope="page"></c:set>
    <c:set var="i" value="20" scope="request"></c:set>
    <c:set var="i" value="30" scope="session"></c:set>
    <c:set var="i" value="40" scope="application"></c:set>
    <!--2.打印输出, 使用变量的值必须用${变量名}  -->
    <c:out value="${pageScope.i}"></c:out>
    <c:out value="${requestScope.i}"></c:out>
    <c:out value="${sessionScope.i}"></c:out>
    <c:out value="${applicationScope.i}"></c:out>
    
    <!-- 如果, ${语句} -->
    <c:if test="${i == 10}">
    	你能看到这句话 <br/>
    </c:if>
    
    <!-- 多分支语句 -->
    <c:choose>
    	<c:when test="${requestScope.i == 10 }"> 是10 </c:when>
    	<c:when test="${requestScope.i == 20 }"> 是20 </c:when>
    	<c:when test="${requestScope.i == 30 }"> 是30 </c:when>
    	<c:otherwise> 都不是 </c:otherwise>
    </c:choose>
    
    <%
    	List<String> list = Arrays.asList("abc","def","hij","klmn");
    	session.setAttribute("list", list);
    %>
    <!-- 循环 
    	items: 集合、数组   var:用来遍历的变量  step:自增长  
    	varStatus: 状态变量 属性：index下标  first:是否第一个元素   last:是否最后一个
    -->
    <c:forEach items="${list}" var="s" step="1" varStatus="stat">
    	<li>
    		<c:out value="${stat.index}"></c:out>:
    		<c:out value="${stat.first}"></c:out>:
    		<c:out value="${stat.last}"></c:out>:
    		<c:out value="${s}"></c:out>
    	</li>
    </c:forEach>
    
    
    <!-- 打断遍历 -->
    <c:forTokens items="123-456-789" delims="-" var="num">
    	<li><c:out value="${num}"></c:out></li>
    </c:forTokens>
    
    <!-- 移除变量 pageContext.removeAttribute("i"); -->
    <c:remove var="i" scope="page"/>
    
    <!-- 定义一个网址 -->
    <c:url var="baidu" value="http://www.baidu.com"></c:url>
    
    <%-- 重定向 
    <c:redirect url="${baidu}"></c:redirect>
    --%>
    
    <!-- 把有可能出现问题的代码放到catch中 -->
    <c:catch var="e">
    	<%=1/0 %>
    </c:catch>
    <c:if test="${e != null}">
    	${e.message}
    </c:if>
</body>
</html>